package study.spring.core.ioc._2_inject_bean;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Controller;

/**
 * 有一个特殊构造方法的对象, 在 spring中的实例化过程
 */
@Controller
public class SpecialConstructBean {

  protected final Log log = LogFactory.getLog(getClass());

  /**
   * 提供一个特殊的构造方法
   */
  public SpecialConstructBean(ComponentBean componentBean) {
    log.info("调用了特殊的构造方法");
  }

  /**
   * 提供多个构造方法
   */
  public SpecialConstructBean(String string) {
    log.info("调用了特殊的构造方法");
  }

  /**
   * 提供多个构造方法
   */
  public SpecialConstructBean() {
    log.info("调用了无参的构造方法");
  }
}
